package com.framework.Module.flow.flowbill;

import com.framework.ACore.ModuleFields;
import com.framework.ACore.ModuleInfo;
import com.framework.ACore.ModuleWhere;
import com.framework.Table.Table;

/**
 * 流程单据
 * */
public class Tableflowbill extends Table {
    protected void initTable() {
        setInfo("flowbill", "流程单据");
        setModuleInfo(ModuleInfo.get()
                .setType("流程")
                .setSort(500)
                .setIsxt(2)
                .setIstj(1)
                .setSortdir("optdt desc")
                .setImgurl("https://xinhu-1251238447.file.myqcloud.com/img/13994.png")
                .setExplain("用户申请流程的单据，待办列表")
        );

        addModuleFields(ModuleFields.get()
                .setName("模块名").setIsbt(1)
                .setFields("fmodename").setIsss(1)
                .setPlaceholder("不能从这里新增加单据").setAttr("readonly")
                .setType("varchar(50)")
        );

        addModuleFields(ModuleFields.get()
                .setName("模块编号").setIsbt(1)
                .setIslb(0)
                .setFields("fmodenum").setIsss(1)
                .setPlaceholder("不能从这里新增加单据").setAttr("readonly")
                .setType("varchar(50)")
        );

        addModuleFields(ModuleFields.get()
                .setName("单位模块Id")
                .setFields("fmodeid").setDev("0")
                .setIslb(0)
                .setType("int(11)")
        );


        addModuleFields(ModuleFields.get()
                .setName("对应表")
                .setFields("table")
                .setType("varchar(50)")
                .setIslb(0)
        );


        addModuleFields(ModuleFields.get()
                .setName("单据Id")
                .setFields("mid").setDev("0").setIslb(0)
                .setIsbt(1)
                .setType("int(11)")
        );

        addModuleFields(ModuleFields.get()
                .setName("单号").setIsbt(1)
                .setFields("sericnum").setIsss(1)
                .setType("varchar(50)")
                .setIsonly(1)
        );

        addModuleFields(ModuleFields.get()
                .setName("申请人Id")
                .setFields("aid").setDev("0").setIslb(0).setIslu(0)
                .setIsbt(1)
                .setType("int(11)")
        );
        addModuleFields(ModuleFields.get()
                .setName("申请人")
                .setFields("aname").setIsss(1)
                .setIsbt(1)
                .setType("varchar(50)")
        );
        addModuleFields(ModuleFields.get()
                .setName("申请人部门")
                .setFields("adeptname").setIsss(1)
                .setIsbt(1)
                .setType("varchar(50)")
        );
        addModuleFields(ModuleFields.get()
                .setName("申请人部门Id")
                .setFields("adeptid").setDev("0").setIslb(0).setIslu(0)
                .setIsbt(1)
                .setType("int(11)")
        );
        addModuleFields(ModuleFields.get()
                .setName("申请日期").setIsbt(1).setDevval("{date}")
                .setFields("applydt").setDev(null).setIsss(1)
                .setType("date")
        );

        addModuleFields(ModuleFields.get()
                .setName("摘要").setIslu(1)
                .setFields("content").setIsalign(1).setIsss(1)
                .setFieldstype("textarea")
                .setType("varchar(500)")
        );

        addModuleFields(ModuleFields.get()
                .setName("操作人Id").setIslb(0).setIslu(0)
                .setFields("optid").setDev("0")
                .setType("int(11)")
        );

        addModuleFields(ModuleFields.get()
                .setName("操作人").setIslu(0)
                .setFields("optname")
                .setType("varchar(50)")
        );

        addModuleFields(ModuleFields.get()
                .setName("操作时间").setIslu(0)
                .setFields("optdt").setDev(null)
                .setType("datetime")
        );

        addModuleFields(ModuleFields.get()
                .setName("创建时间").setIslu(0).setIslb(0)
                .setFields("createdt").setDev(null)
                .setType("datetime")
        );


        addModuleFields(ModuleFields.get()
                .setName("流程状态")
                .setFields("status")
                .setType("tinyint(1)").setFieldstype("select")
                .setDev("0").setIspx(1)
                .setIsss(1)
                .setIslu(0)
                .setIslb(1)
                .setData("flowstatus")
        );

        addModuleFields(ModuleFields.get()
                .setName("当前状态")
                .setFields("nstatus")
                .setType("tinyint(1)")
                .setDev("0")
                .setIsss(0)
                .setIslu(0)
                .setIslb(0)
        );

        addModuleFields(ModuleFields.get()
                .setName("当前步骤ID")
                .setFields("nowcourseid")
                .setType("varchar(50)")
                .setPlaceholder("多个,分开")
                .setIslu(0)
                .setIslb(0)
        );

        addModuleFields(ModuleFields.get()
                .setName("当前审核人")
                .setFields("nowcheckname")
                .setType("varchar(200)")
                .setIslu(0)
                .setIslb(0)
        );

        addModuleFields(ModuleFields.get()
                .setName("当前审核人id")
                .setFields("nowchecknameid")
                .setType("varchar(200)")
                .setIslu(0)
                .setIslb(0)
        );

        addModuleFields(ModuleFields.get()
                .setName("所有审批人")
                .setFields("allcheckid")
                .setType("varchar(300)")
                .setIslu(0)
                .setIslb(0)
        );

        addModuleFields(ModuleFields.get()
                .setName("最后更新").setIslu(0).setIslb(0)
                .setFields("lastdt").setDev(null)
                .setType("datetime")
        );

        addModuleFields(ModuleFields.get()
                .setName("对应单位")
                .setFields("cid").setDev("0")
                .setNotelement(1)
                .setType("int(11)")
        );


        this.addfields("cid", "KEY", "`cid`", "单位ID");
        this.addfields("table_mid", "UNIQUE KEY", "`table`,`mid`", "对应表索引");

        addWhere(ModuleWhere.get()
                .setNum("mydai")
                .setPnum("daiban")
                .setWhere("`status`= 0 AND {aidin,nowchecknameid}")
                .setName("我的待办")
        );

        addWhere(ModuleWhere.get()
                .setNum("jwcl")
                .setPnum("daiban")
                .setWhere("{aidin,allcheckid}")
                .setName("经我处理")
        );

        addWhere(ModuleWhere.get()
                .setNum("my")
                .setWhere("`aid`={aid}")
                .setName("我的申请")
        );
        addWhere(ModuleWhere.get()
                .setNum("mywtg")
                .setWhere("`aid`={aid} AND `status`=2")
                .setName("申请未通过")
        );
    }
}
